const now = new Date().getFullYear();
const ageMark = now - 1999;
const ageSarah = now - 2018;
console.log({ ageMark, ageSarah });
console.log(ageMark * 2, ageMark / 10, ageSarah ** 2);

let num1 = 2;
let num2 = 20;
let num3 = num1++ + num2;
let num4 = num1 + num2;
console.log(num3); // 22
console.log(num4); // 23

num3 = ++num1 + num2;
num4 = num1 + num2;
console.log(num3); // 24
console.log(num4); // 24

console.log(~5); // 0101  ->

const firstName = "Jonas";
const lastName = "Schmedtmann";
console.log(firstName + " " + lastName);

console.log("================逻辑非!==================");
console.log(!true); // false
console.log(!false); // true
console.log(!0); // true (0 转换为 false，取反为 true)
console.log(!1); // false (1 转换为 true，取反为 false)
console.log(!""); // true (空字符串转换为 false，取反为 true)
console.log(!"hello"); // false (非空字符串转换为 true，取反为 false)
console.log(!null); // true
console.log(!undefined); // true
console.log(!{}); // false
console.log(!{ name: "zzz" }); // false

console.log("================双重非!!==================");
console.log(!!true); // true
console.log(!!false); // false
console.log(!!0); // false
console.log(!!1); // true
console.log(!!""); // false
console.log(!!"hello"); // true
console.log(!!null); // false
console.log(!!undefined); // false
console.log(!!{}); // true
console.log(!!{ name: "zzz" }); // true

console.log("================逻辑与&&==================");
console.log({} && { name: "zzz" });
console.log(undefined && { name: "zzz" });
